// 构建部门树
export function buildTree (content) {
  if (content.with) {
    if (content.with.constructor === String) {
      const cloneData = JSON.parse(JSON.stringify(content.list)) // 对源数据深度克隆
      const tree = cloneData.filter((father) => { // 循环所有项
        // father.slots = {
        //   icon: 'icon'
        // }
        const branchArr = cloneData.filter((child) => {
          return father.id === child.parentId // 返回每一项的子级数组
        })
        if (branchArr.length > 0) {
          father.children = branchArr // 如果存在子级，则给父级添加一个children属性，并赋值
        }
        return father.code === content.with // 返回第一层
      })
      return tree // 返回树形数据
    } else if (content.with.constructor === Array) {
      const cloneData = JSON.parse(JSON.stringify(content.list)) // 对源数据深度克隆
      const tree = cloneData.filter((father) => { // 循环所有项
        const branchArr = cloneData.filter((child) => {
          return father.id === child.parentId // 返回每一项的子级数组
        })
        if (branchArr.length > 0) {
          father.children = branchArr // 如果存在子级，则给父级添加一个children属性，并赋值
        }
        // 返回第一层
        return content.with.includes(father.areaCode)
      })
      return tree // 返回树形数据
    }
  } else {
    const cloneData = JSON.parse(JSON.stringify(content)) // 对源数据深度克隆
    const tree = cloneData.filter((father) => { // 循环所有项
      const branchArr = cloneData.filter((child) => {
        return father.id === child.parentId // 返回每一项的子级数组
      })
      if (branchArr.length > 0) {
        father.children = branchArr // 如果存在子级，则给父级添加一个children属性，并赋值
      }
      return father.parentId === 0 // 返回第一层
    })
    return tree // 返回树形数据
  }
}
